========================================================================
    DEV_Interface Project Overview
========================================================================

/////////////////////////////////////////////////////////////////////////////
// 1. the DEV_Functions demo application 
/////////////////////////////////////////////////////////////////////////////
The application demonstrate the use of the 'Toolkit Hardware Functions'.

Attention:
Please refer to protocol specific examples concerning any additional handling
(e.g. packet based configuration, application handling).

The application gets a pointer to a cifX card DPM. 
If the device is already configured the application start the IO-Demo. 
If device is not configured the application needs to implement protocol specific startup.
After that the IO-Demo starts.
If an error occurs the application returns with value !=0. 
The return values are defined in cifXHWFunctionsSample.cpp.

IO-Demo:
The IODemo() interchanges the input and output data of the first communication channel.


/////////////////////////////////////////////////////////////////////////////
// 2. folders and files
/////////////////////////////////////////////////////////////////////////////
cifXHWFunctionsSample.cpp
    This is the main application source file. The following functions need to be adapted
     - DEV_GetDPMAddress()     
     - DEV_Cleanup()
     To configure the fieldbus protocol device implement
     - ProcessDeviceConfiguration()
    
DEV_InterfaceUser.c
    This file contains examples of general device functions. 
    If the DPM layout is not equal the 'Standard DPM Layout' the function DEV_Initialize() needs
    to be adapted.

DEV_FileUser.c
    This file contains examples of general device file functions. 
    If no stored configuration is used theses functions may not be necessary.

Fieldbus_Functions.c
    This file contains basic examples of fieldbus specific functions:
    - registering an Application to fieldbus protocol stack
    It may be extended based on fieldbus protocol stack API or examples.

OSAbstraction/
    This folder contains the platform and operating system dependent files.

SerialDPM/
    This folder contains an example implementation of the toolkit custom hardware
    access functions (HWIF), using SPI as a connection the netX device DPM.
    Also called serial DPM (SPM) access.
    
cifXDev/
    This folder contains all needed files to use the Toolkit Hardware Functions
        

/////////////////////////////////////////////////////////////////////////////
// 3. Steps to build and execute the demo application
/////////////////////////////////////////////////////////////////////////////

3.1 Customize the empty OS functions (see OS_NoneOS.cpp)
     - OS_Memcpy()
     - OS_Lock()
     - ...
    Note: For the example application, not all functions need to be implemented.

3.2 Setup the empty DEV functions (see cifXHWFunctionsSample.cpp)
     - DEV_GetDPMAddress()
     - DEV_Cleanup()

3.3 After customizing or interchaning the mentionend functions and files (/OSAbstraction/OS_Includes.h OSAbstraction/stdint.h)
    setup build script.

3.4 Adapt protocol specific functionality
     In case the protocol stack need to be configured, implement
     - ProcessDeviceConfiguration() in cifXHWFunctionsSample.cpp
     Implement additional protocol stack handling in Fieldbus_Functions.c
     - e.g. HandleIndication() in Fieldbus_Functions.c

/////////////////////////////////////////////////////////////////////////////